package com.ksd.modules.rbac.sysuser.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ksd.commons.IBaseService;
import com.ksd.modules.rbac.sysuser.context.UserLoginContext;
import com.ksd.modules.rbac.sysuser.entity.SysUsers;
import com.ksd.modules.rbac.sysuser.po.SysUsersSavePO;
import com.ksd.modules.rbac.sysuser.po.SysUsersSearchPO;

/**
 * <p>
 * 系统用户表 服务类
 * </p>
 *
 * @author Auto Generator
 * @since 2023-08-13
 */
public interface ISysUsersService extends IBaseService<SysUsers> {

    /**
     * 用户登录业务
     *
     * @param userLoginContext
     * @return
     */
    String login(UserLoginContext userLoginContext);

    /**
     * 退出登录
     * @param userId
     */
    void exit(Long userId);


    /**
     * 查询系统用户接口搜索并分页
     * @return
     */
    Page<SysUsers> findSysUsers(SysUsersSearchPO sysUsersSearchPO);


    /**
     * 保存系统用户
     */
    boolean saveUpdateSysUsers(SysUsersSavePO sysUsersSavePO);

    /**
     * 修改默认密码
     * @param userId
     * @return
     */
    boolean updatePasswordDefault(Long userId);

    /**
     * 删除系统用户
     * @param id
     * @return
     */
    boolean deleteSysUsersById(Long id);


    /**
     * 根据id获取系统用户
     * @param id
     * @return
     */
    SysUsers getSysUsersById(Long id);

    /**
     * 接触绑定老师关系
     * @param id
     * @return
     */
    Boolean unbindTeacherFlag(Long id);

}
